1. Field of the Invention
The present invention relates to a printer control technique which performs high-speed printing.
2. Related Art
A printer used with a computer system usually forms a pseudo-continuous tone image which visually appears to be a continuous tone, through use of a limited number of coloring agents, such as cyan, magenta, and yellow (CMY), or cyan, magenta, yellow, and black (CMYK), by printing or not printing a small point (dot) of each coloring agent at each pixel position on a sheet. Accordingly, image data finally required by the printer usually comprise CMYK raster image data which represent whether or not a dot of each color of CMYK coloring agents is printed or not printed at each pixel position (in some types of printer, the CMYK raster image data further represent which of a plurality of dot sizes is designated). Such CMYK raster image data require a color component resolution of only two or so (but not too many) levels. Throughout the specification, such CMYK raster image data will be referred to as CMYK raster image data having a xe2x80x9clow-value resolution.xe2x80x9d Original image data, which are prepared by means of an application in a host computer which issues a print instruction to the printer or are input from the outside, are usually represented by a host color system differing from a printer color system; typically an RGB color system. Further, the original image data are RGB data having a xe2x80x9chigh-value resolutionxe2x80x9d; for example, a color component of 256-level gray scale. The original image data may be low-level data (raster image data) represented by a set of pixel values in one case and may be high-value data represented by a graphic function or character codes in another case.
In a conventional print system, the processing for converting high-value resolution RGB data of the original image into final CMYK data of a low-value resolution is performed by means of a printer driver which is made up of software installed in a host computer, or by means of imaging software installed in the printer. The processing comprises a xe2x80x9crasterizationxe2x80x9d step of converting high-level original image data into raster image data; a xe2x80x9ccolor conversionxe2x80x9d step of converting RGB-based pixel values into CMY-based or CMYK-based pixel values through use of a look-up table; and a xe2x80x9chalf-toningxe2x80x9d step of converting pixel values of high-value resolution into pixel values of low-value resolution through use of error variance or dithering. Further, in order to improve picture quality, an ink-jet printer employs a so-called xe2x80x9cinterlacexe2x80x9d printing technique or an xe2x80x9coverlapxe2x80x9d printing technique, according to which dots are printed in a sequence differing from that in which the pixels are arranged. Interleaving of pixel values in a rearranged sequence for the purpose of interlace printing or overlap printing is also carried out through the conversion process set forth.
If a printer driver carries out the foregoing conversion operations, the operations will burden the central processing unit of a host computer. Similarly, if a printer carries out the foregoing conversion operations, the operations will burden the central processing unit of the printer. These processing operations involve consumption of much time and account for a large portion of print time. A laser printer aimed at high-speed operations has a high-performance CPU and performs the foregoing conversion operations at high speed. Such a high-performance CPU is a primary factor for driving the cost of a laser printer considerably high. In contrast, in an ink-jet printer aimed at attaining a low price, a host computer processes all these operations. Consequently, the ink-jet printer is considerably slow in print speed, and the host computer is occupied for a long period of time, which in turn causes a delay in other tasks to be processed by the host computer.
Accordingly, the object of the present invention is to realize high-speed printing through use of inexpensive equipment.
Another object of the present invention is to realize high-speed printing without involvement of a heavy workload on a CPU of a host computer in an environment where a low-speed printer, such as a conventional ink-jet printer, is used.
Still another object of the present invention is to provide an inexpensive printer capable of performing printing operations at high speed.
Yet another object of the present invention is to provide an environment in which a new printer driver capable of achieving the foregoing objects can be used while use of a conventional printer driver is maintained.
According to the present invention, a printer controller is provided between a host and a printer. According to a command for the printer controller from the host, the printer controller receives high-order raster image data (e.g., full-color RGB raster image data) and converts the thus-received image data into low-order raster image data (e.g., binary or multi-value CMYK raster image data). The thus-converted raster image data are sent to the printer. Accordingly, neither the printer driver of the host nor the software of the printer is required to perform image conversion of high-order raster image data into low-order raster image data (e.g., color conversion and halftoning operations); rather, a hardware circuit designed specifically for carrying out a conversion process performs the conversion operation at high speed. The high-order raster image data sent from the host do not always correspond to RGB raster data but may alternatively correspond to raster image data of another color system, e.g., CMYK system raster image data or CMY raster image data.
The printer controller may be embodied in the form of external hardware which is connected between the host and the printer by way of, e.g., a parallel interface cable. Alternatively, the printer controller may also be built into the host and connected directly to a bus of the CPU of the host. Alternatively, the printer controller may be built into a printer and connected directly to a bus of a CPU of the printer.
Image conversion parameters required for correctly converting a high-order raster image into a low-order raster image are set in the printer controller by means of commands which the printer controller receives from the host. Accordingly, the printer controller can convert images through use of an optimum method according to parameters compliant with an image to be printed or the type of printer.
In a preferred embodiment, a backend parameter required for correctly printing low-order raster image data is also imparted to the printer controller according to the command from the host. On the basis of the backend parameter, the printer controller generates an initial setting command for initially setting the printer so as to enable the printer to correctly perform printing operations and sends the thus-generated initial setting command to the printer. Further, on the basis of the backend parameter, the printer controller decides a specification for interlace printing or overlap printing. According to the thus-determined specification, the printer controller selects pixels for low order raster data required by a print head of the printer in each path. The thus-selected pixel data are sent to the printer. Therefore, the printer is released also from processing for controlling the arrangement of pixels for interlace printing or overlap printing.
A method under which the printer controller sends low order raster image data to the printer includes a method of sending the raster image data in the form of a predetermined printer command which the printer CPU can comprehend. In this case, the printer controller may generate various printer commands in addition to the raster image data transfer command. Alternatively, the printer controller generates only a printer command for raster image data transfer purpose, and another printer command may be issued by a printer driver. In another method, on the basis of low order raster image data, the printer controller may directly drive the printing mechanism of the printer by bypassing the CPU of the printer.
In order to support a printer employing a conventional printer driver which sends a printer command, the printer controller may be provided with a through-path which sends a printer command received from the host directly to the printer.